<template>
  <div >
    <!--
      el-table：是elementUi定义的表格标签
        data：表格的数据来源属性，值就是我们在模型层绑定的数据集合
        border：边框的线
        el-table-column：一个此标签就代表一列
          prop：data中数据集合的每条数据中的某个字段，说白了就是对象的字段名称
          label：列头名称
          width：一个字段有多宽，最后一列一定不要加此属性，加了列表非常丑
    -->
    <el-table
      :data="tableData"
      border
      style="width: 100%">
      <el-table-column
        prop="id"
        label="编号"
        width="180">
      </el-table-column>
      <el-table-column
        prop="phone"
        label="电话"
        width="180">
      </el-table-column>
      <el-table-column
        prop="email"
        label="邮箱"
        width="220">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
    <!--el-pagination：elementUI提供的分页组件
          background：带背景色
          layout：布局
          total：分页总条数
          align：位置
    -->
    <el-pagination
      background
      layout="sizes,prev, pager, next"
      :total="total"
      align="right"
      :page-size="pageSize"
      :current-page="currentPage"
      @current-change="gocurrent"
      :page-sizes="[5, 10, 15, 20]"
    >
    </el-pagination>
  </div>
</template>

<script>
import axios from "axios"
export default {
  name: 'HelloWorld',
  data () {
    return {
      tableData: [],
      currentPage:1,
      pageSize:5,
      total:0
    }
  },
  methods:{
    gocurrent(currentPage){
      this.currentPage = currentPage;
      this.list();
    },
    list(){
      axios.post("/user/list",{"currentPage":this.currentPage,"pageSize":this.pageSize})
      .then(result=>{
        this.tableData =  result.data.data
        this.total = result.data.totals
      })
      .catch(error=>{
        alert("系统错误，请骚后重试")
        console.log(error)
      })
    }
  },
  mounted() {
    this.list();

  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>
